package algorithm.leetcode.simple;

/*
 给定一个仅包含大小写字母和空格 ' ' 的字符串 s，返回其最后一个单词的长度。
 如果字符串从左向右滚动显示，那么最后一个单词就是最后出现的单词。
 如果不存在最后一个单词，请返回 0 。
 */

/**
 * @author
 * @version 1.0
 * @date 2020/9/29
 */
public class Question58 {

    public static void main(String[] args) {

    }

    public int lengthOfLastWord(String s) {
        if (s == null || s.length() == 0) {
            return 0;
        }
        int end = s.length() - 1;
        // s = "hhh hhh   "  -> s = "hhh hhh"
        while (end >= 0 && s.charAt(end) == ' ') {
            end--;
        }
        if (end < 0) {
            // 发现没有单词
            return 0;
        }

        int start = end;
        // s = "hhh hhh" -> 找到最后一个单词
        while (start >= 0 && s.charAt(start) != ' ') {
            start--;
        }
        return end - start;
    }
}

